package com.ogawa.base.network;

import com.example.reslib.Constants;
import com.ogawa.base.network.Event.Event;
import com.ogawa.base.network.Event.UpdataEvent;
import com.ogawa.base.network.bean.BeanOnline;
import com.ogawa.base.network.bean.BeanStateInfo;
import com.ogawa.base.network.bean.BeanToken;
import com.ogawa.base.network.bean.BeanUpdata;

import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
import rx.Observable;

/**
 * 请求接口类
 */
public interface ApiService {
    // 启动程序事件
    @POST(Constants.URI_SEND_COMMOND)
    Observable<BaseResponse> sendCommondEvent(@Body Event event);

    //获取token
    @GET(Constants.URI_TOKEN)
    Observable<BaseResponse<BeanToken>> getTokenEvent(@Query("sn") String sn);

    // 获取椅子状态
    @GET(Constants.URI_STATE)
    Observable<BaseResponse<BeanStateInfo>> getStateEvent(@Query("params") String params, @Query("sn") String sn);

    // 获取在线状态
    @GET(Constants.URI_ONLINE)
    Observable<BaseResponse<BeanOnline>> getOnlineEvent(@Query("param") String params, @Query("isMac") int isMac);

    // 启动程序事件
    @POST(Constants.URI_UPDATA)
    Observable<BaseResponse<BeanUpdata>> UpdataEvent(@Body UpdataEvent event);

}
